/// Slightly lighten a color
/// @access public
/// @param {Color} $color - color to tint
/// @param {Number} $percentage - percentage of `$color` in returned color
/// @return {Color}
@function tint($color, $percentage) {
  @return mix(white, $color, $percentage);
}

/// Slightly darken a color
/// @access public
/// @param {Color} $color - color to shade
/// @param {Number} $percentage - percentage of `$color` in returned color
/// @return {Color}

@function shade($color, $percentage) {
  @return mix(black, $color, $percentage);
}

@function valid_radius($radius) {
  $return: ();
  @each $value in $radius {
    @if type-of($value) == number {
      $return: append($return, max($value, 0));
    } @else {
      $return: append($return, $value);
    }
  }
  @return $return;
}

// Retornar uma medida usando a propriedade rem do css, baseado no valor de entrada
// sendo ele o resultado da divisão do valor de entrada por 16, sendo 16 o valor base das medidas geradas
// o valor de entrada pode vim sem ser dividido, e a função fazer esta divisão, basta passar o valor
// e um segundo argumento, true, size(10, true) retorna 0.625rem
@function size($size: 0, $div_to_rem: false) {
  @if (type-of($size) == number) {
    @if $div_to_rem {
      @return $size / $rem_global * $rem; 
    } @else {
      @return $size * $rem; 
    }
  }
}

// Retornar o valor inteiro recebido em um valor float, 
// que é obtido pela divisão do numero recebido por 16, que é o valor padrão do font-size dos navegadores
// logo esse valor deve ser usado para gerar possiveis valores a serem utiizados no codigo
@function int_to_float($number: 0) {
  @if type-of($number) {
    @return $number / $rem_global;    
  }
}

@function variante_color($color, $scale) {
 @return if($scale > 0, shade($color, $scale), tint($color, $scale));
}
